package net.yla.smartbus.module.ba.vehicletype.mapper;

import net.yla.smartbus.module.ba.vehicletype.entity.BaVehicleModelsDo;
import net.yla.smartbus.module.ba.vehicletype.form.VehicleTypeForm;
import net.yla.smartbus.module.ba.vehicletype.query.VehicleTypeQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 默苍离
 * @date 2021/6/23 9:32
 * <p>
 * ******************************************
 * @annotation:
 */
@Repository
public interface VehicleTypeMapper {

    /**
     * 获取所有车型
     *
     * @param query
     * @return
     */
    List<BaVehicleModelsDo> getList(VehicleTypeQuery query);


    /**
     * 获取所有车型数量
     *
     * @param query
     * @return
     */
    Integer getCount(VehicleTypeQuery query);


    /**
     * 根据id进行删除
     *
     * @param ids
     * @return
     */
    Integer delete(Integer[] ids);


    /**
     * 新增车辆类型
     *
     * @param form
     * @return
     */
    Integer insert(VehicleTypeForm form);


    /**
     * 根据id获取 车型
     *
     * @param modelId
     * @return
     */
    BaVehicleModelsDo getVehicleTypeById(@Param(value = "modelId") Integer modelId);


    /**
     * 更新数据
     *
     * @param form
     * @return
     */
    Integer update(VehicleTypeForm form);


    /**
     * 根据 品牌 id 获取 车辆 类型
     *
     * @param brandId
     * @return
     */
    List<BaVehicleModelsDo> getVehicleType(Integer brandId);

}
